// 函数 getGCD：返回参数 x 与 y 的最大公约数
#include <stdio.h>

int getGCD(int x, int y);

int main(void)
{
    int a, b, c;
    if (scanf("%d%d", &a, &b) != 2) return 0;
    // 调用函数：计算 a 与 b 的最大公约数，存入 c
    c = getGCD(a, b);
    printf("%d\n", c);
    return 0;
}

// 函数定义：欧几里得算法求 GCD（处理负数与零）
int getGCD(int x, int y)
{
    if (x < 0) x = -x;
    if (y < 0) y = -y;
    if (x == 0) return y;
    if (y == 0) return x;
    while (y != 0) {
        int t = x % y;
        x = y;
        y = t;
    }
    return x;
}